package com.peas.platform.module.icims.budget.apply.service;

import com.peas.platform.framework.mybatisplus.service.BaseService;
import com.peas.platform.module.icims.budget.apply.api.req.SaveBudgetOneVo;
import com.peas.platform.module.icims.budget.apply.api.req.SubmitBudgetOneVo;
import com.peas.platform.module.icims.budget.apply.controller.vo.BudgetOneVo;
import com.peas.platform.module.icims.budget.apply.dto.BudgetOneDto;

import java.math.BigDecimal;
import java.util.List;

public interface BudgetOneService extends BaseService<BudgetOneDto> {

    BudgetOneDto saveBudgetOne(SaveBudgetOneVo vo);

    void submitBudgetOne(SubmitBudgetOneVo vo);

    void revocationBudgetOne(Long id);

    List<BudgetOneDto> queryBudgetOneById(List<Long> idList);

    List<BudgetOneDto> queryBudgetOneByOrganizationId(Long organizationId);

    List<BudgetOneDto> queryBudgetOneByProjectOneId(Long projectOneId);

    List<BudgetOneDto> queryBudgetOneByApplyGovernmentId(Long applyGovernmentId);

    List<BudgetOneDto> queryBudgetOneByUseGovernmentId(Long useGovernmentId);

    BigDecimal calcBudgetOneTotalAmount(BudgetOneDto dto);

    void adjustBudgetOneAmount(List<BudgetOneVo> bovs);

}
